package com.hw.model.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hw.model.dto.overview.DetailedQueryDTO;
import com.hw.model.dto.overview.PatientDetailedQueryDTO;
import com.hw.model.entity.DiagTaskPO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hw.model.vo.overview.DataDetailVO;
import com.hw.model.vo.OverviewActiveTrendsVO;
import com.hw.model.vo.OverviewPssTrendsVO;
import com.hw.model.vo.OverviewVO;
import com.hw.model.vo.overview.PatientDataDetailVO;
import org.apache.ibatis.annotations.Param;

import java.sql.Timestamp;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 作者
 * @since 2022-11-24
 */
public interface DiagTaskMapper extends BaseMapper<DiagTaskPO> {
    /**
     * 概览获取
     * @return
     */
    public OverviewVO overview(@Param("beginTime") Timestamp beginTime, @Param("endTime") Timestamp endTime);

    /**
     * 活跃趋势统计
     * @param beginTime
     * @param endTime
     * @return
     */
    List<OverviewActiveTrendsVO> activeTrends(@Param("beginTime") Timestamp beginTime, @Param("endTime") Timestamp endTime);

    /**
     * 拍摄数趋势统计
     * @param beginTime
     * @param endTime
     * @return
     */
    List<OverviewPssTrendsVO> numberOfShotsTrends(@Param("beginTime") Timestamp beginTime, @Param("endTime") Timestamp endTime);

    /**
     * 孩子数据统计明细
     * @param page
     * @param detailedQueryDTO
     * @return
     */
    Page<DataDetailVO> dataDetail(Page page, @Param("detailQuery") DetailedQueryDTO detailedQueryDTO,@Param("orderSql") String orderSql);

}
